home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / netprog.zip / NETPROG.TAR / lock / locksem2.c < prev    next >
C/C++ Source or Header  |  1989-12-17  |  407b  |  28 lines

  1. /*
  2.  * Locking routines using simpler semaphore routines.
  3.  */
  4.  
  5. #include    <sys/types.h>
  6. #include    <sys/ipc.h>
  7. #include    <sys/sem.h>
  8.  
  9. #define    SEMKEY    123456L    /* key value for sem_create() */
  10.  
  11. int    semid = -1;    /* semaphore id */
  12.  
  13. my_lock(fd)
  14. int    fd;
  15. {
  16.     if (semid < 0) {
  17.         if ( (semid = sem_create(SEMKEY, 1)) < 0)
  18.             err_sys("sem_create error");
  19.     }
  20.     sem_wait(semid);
  21. }
  22.  
  23. my_unlock(fd)
  24. int    fd;
  25. {
  26.     sem_signal(semid);
  27. }
  28.